//  # 补环境
const jsdom = require("jsdom");
const { JSDOM } = jsdom;
const dom = new JSDOM(`<!DOCTYPE html><p>Hello world</p>`);
window = dom.window;
document = window.document;
XMLHttpRequest = window.XMLHttpRequest;



function he(hO) {
    var hP = false
    for (var hQ, T = [], g = Function.prototype.call, D = 1672;;)
        switch (N[D++]) {
            case 0:
                T[T.length - 2] = T[T.length - 2][T[T.length - 1]];
                continue;
            case 1:
                hQ = T.pop();
                continue;
            case 2:
                try {
                    if (fw += 1,
                        fm[b(3783)] = fw,
                        hO) {
                        var hS = (hO[b(61)] || b(479))[b(3839)](),
                            hU = (new Date)[b(2097)](),
                            hW = hO[b(3834)] || "";
                        hW = hc(hW),
                            null === hO[b(1811)] && (hO[b(1811)] = void 0);
                        var hX = !1;
                        if (typeof hO[b(1811)] === b(324))
                            var hY = hO[b(1811)];
                        else if (hd(hO[b(1811)], hS)) {
                            hX = !0;
                            hY = hO[b(1811)]
                        } else
                            hY = JSON[b(429)](hO[b(1811)]);
                        (!hO[b(3826)] || typeof hO[b(3826)] !== b(44)) && (hO[b(3826)] = {});
                        var parse_url = /^(?:([A-Za-z]+):)?(\/{0,3})([0-9.\-A-Za-z_]+)(?::(\d+))?(?:\/([^?#]*))?(?:\?([^#]*))?(?:#(.*))?$/;
                        var i0 = parse_url.exec(hW),
                            i1 = "/",
                            i2 = [];
                        i0 && (i0[5] && (i1 += i0[5]),
                            i0[6] && (i2 = fU(i0[6])));
                        var i3 = [];
                        if (hS === b(479))
                            if (typeof hY === b(44) && Object[b(187)](hY)[b(147)] > 0) {
                                if (fS(i3, hY, !0),
                                    i0 && i0[6] && i2[b(147)] > 0) {
                                    var i4 = {};
                                    (i2 = fU(i0[6], !0))[b(38)](function(ih) {
                                        !hY[b(7)](ih[0]) && (i4[ih[0]] = ih[1])
                                    }),
                                    fS(i3, i4, !0)
                                }
                            } else
                                fS(i3, i2);
                        else
                            fS(i3, i2);
                        var i5 = "";
                        i5 = hP ? fn : fo;
                        [][b(1546)](i3);
                        i3[b(1641)](h7);
                        var i7 = [];
                        i3[b(38)](function(ih) {
                            ih[0] == b(3827) || i7[b(135)](ih[0] + "=" + ih[1])
                        });
                        var i8 = i7[b(718)]("&"),
                            ia = hY,
                            ib = fW(hS + " " + i1 + " " + i8);
                        hS !== b(479) && void 0 != hY && (hX ? ib[b(135)][b(313)](ib, fX(ia)) : ib[b(135)][b(313)](ib, fX(fW(ia)))),
                            fm[b(3795)] = fr,
                            function() {
                                for (var ih, ij, ik, im, io, iq, ir, is, it, iv, iw, ix, iy, iz, iA, iB, iC, iE, iF, iG, iH, iI, iJ, iK, iM, iO, iP, iQ, iL, iR, iS, iU, iW, iX, iY, T = [], g = Function.prototype.call, D = 508;;)
                                    switch (N[D++]) {
                                        case 0:
                                            T.pop() || (D += 6);
                                            continue;
                                        case 1:
                                            T.length -= 2;
                                            continue;
                                        case 2:
                                            T.push(N[D++]);
                                            continue;
                                        case 3:
                                            T.push(iy);
                                            continue;
                                        case 4:
                                            T[T.length - 3] = g.call(T[T.length - 3], T[T.length - 2], T[T.length - 1]);
                                            continue;
                                        case 5:
                                            T[T.length - 2] = T[T.length - 2][T[T.length - 1]];
                                            continue;
                                        case 8:
                                            T.pop();
                                            continue;
                                        case 20:
                                            iv = T.pop();
                                            continue;
                                        case 22:
                                            T.push(b);
                                            continue;
                                        case 25:
                                            T.push(iC);
                                            continue;
                                        case 27:
                                            iC[b(3808)] = T[T.length - 1];
                                            continue;
                                        case 34:
                                            D += 7;
                                            continue;
                                        case 37:
                                            iO = T[T.length - 1];
                                            continue;
                                        case 38:
                                            T[T.length - 2] = T[T.length - 2] << T[T.length - 1];
                                            continue;
                                        case 42:
                                            D += 0;
                                            continue;
                                        case 43:
                                            T.push(null);
                                            continue;
                                        case 46:
                                            T.push(iJ);
                                            continue;
                                        case 56:
                                            T.push(iG);
                                            continue;
                                        case 60:
                                            iW = T[T.length - 1];
                                            continue;
                                        case 64:
                                            iG[0] = T[T.length - 1];
                                            continue;
                                        case 66:
                                            T.push(iS);
                                            continue;
                                        case 69:
                                            iG = T.pop();
                                            continue;
                                        case 73:
                                            T.push(is);
                                            continue;
                                        case 74:
                                            T.push("?");
                                            continue;
                                        case 83:
                                            iG[2] = T[T.length - 1];
                                            continue;
                                        case 86:
                                            T.push(md5);
                                            continue;
                                        case 91:
                                            T[T.length - 2] = T[T.length - 2] ^ T[T.length - 1];
                                            continue;
                                        case 94:
                                            T[T.length - 2] = T[T.length - 2] == T[T.length - 1];
                                            continue;
                                        case 97:
                                            T[T.length - 2] = T[T.length - 2] + T[T.length - 1];
                                            continue;
                                        case 98:
                                            T.push({});
                                            continue;
                                        case 101:
                                            T[T.length - 2] = T[T.length - 2] | T[T.length - 1];
                                            continue;
                                        case 102:
                                            T.push(d0);
                                            continue;
                                        case 105:
                                            T.push(hW);
                                            continue;
                                        case 106:
                                            T.push(fx);
                                            continue;
                                        case 117:
                                            iB = T.pop();
                                            continue;
                                        case 122:
                                            T.push(iK);
                                            continue;
                                        case 124:
                                            D += 88;
                                            continue;
                                        case 132:
                                            iU = T.pop();
                                            continue;
                                        case 137:
                                            T.push(iv);
                                            continue;
                                        case 141:
                                            T.push(iw);
                                            continue;
                                        case 144:
                                            iC = T.pop();
                                            continue;
                                        case 145:
                                            T.push(iE);
                                            continue;
                                        case 160:
                                            T.push(iL);
                                            continue;
                                        case 164:
                                            T.push(ib);
                                            continue;
                                        case 165:
                                            iw = T.pop();
                                            continue;
                                        case 171:
                                            T[T.length - 4] = g.call(T[T.length - 4], T[T.length - 3], T[T.length - 2], T[T.length - 1]);
                                            continue;
                                        case 178:
                                            D += 23;
                                            continue;
                                        case 182:
                                            iJ[10] |= T[T.length - 1];
                                            continue;
                                        case 183:
                                            D += 72;
                                            continue;
                                        case 185:
                                            T.push(hP);
                                            continue;
                                        case 187:
                                            T[T.length - 2] = T[T.length - 2] & T[T.length - 1];
                                            continue;
                                        case 195:
                                            T.push(ih);
                                            continue;
                                        case 200:
                                            iz = T.pop();
                                            continue;
                                        case 209:
                                            T.push(iO);
                                            continue;
                                        case 216:
                                            T.push(iX);
                                            continue;
                                        case 222:
                                            T[T.length - 4] = [T[T.length - 4], T[T.length - 3], T[T.length - 2], T[T.length - 1]];
                                            continue;
                                        case 234:
                                            T.push(encodeURIComponent);
                                            continue;
                                        case 238:
                                            T[T.length - 2] = T[T.length - 2] - T[T.length - 1];
                                            continue;
                                        case 244:
                                            T.push(ix);
                                            continue;
                                        case 257:
                                            iC[b(3811)] = T[T.length - 1];
                                            continue;
                                        case 262:
                                            T.push(parseInt);
                                            continue;
                                        case 268:
                                            it = T.pop();
                                            continue;
                                        case 274:
                                            T.push(iI);
                                            continue;
                                        case 275:
                                            iJ[11] |= T[T.length - 1];
                                            continue;
                                        case 276:
                                            T.push(iW);
                                            continue;
                                        case 280:
                                            hO[b(3826)][b(3827)] = T[T.length - 1];
                                            continue;
                                        case 281:
                                            T.push(fm);
                                            continue;
                                        case 284:
                                            T[T.length - 2] = T[T.length - 2] < T[T.length - 1];
                                            continue;
                                        case 297:
                                            iJ[9] |= T[T.length - 1];
                                            continue;
                                        case 305:
                                            ix = T.pop();
                                            continue;
                                        case 308:
                                            D -= 77;
                                            continue;
                                        case 309:
                                            D += 4;
                                            continue;
                                        case 310:
                                            iK = T.pop();
                                            continue;
                                        case 315:
                                            hW = T[T.length - 1];
                                            continue;
                                        case 330:
                                            T.push(hU);
                                            continue;
                                        case 346:
                                            iG[3] = T[T.length - 1];
                                            continue;
                                        case 356:
                                            hO[b(3834)] = T[T.length - 1];
                                            continue;
                                        case 358:
                                            io = T.pop();
                                            continue;
                                        case 359:
                                            T.push(fZ);
                                            continue;
                                        case 360:
                                            T.length -= 3;
                                            continue;
                                        case 365:
                                            T.push(hb);
                                            continue;
                                        case 375:
                                            T[T.length - 0] = [];
                                            continue;
                                        case 380:
                                            return;
                                        case 381:
                                            T.push(fw);
                                            continue;
                                        case 389:
                                            T.pop();
                                            continue;
                                        case 392:
                                            T.pop() || (D += 32);
                                            continue;
                                        case 394:
                                            iH = T.pop();
                                            continue;
                                        case 396:
                                            T.push(JSON);
                                            continue;
                                        case 405:
                                            T[T.length - 2] = T[T.length - 2] >>> T[T.length - 1];
                                            continue;
                                        case 410:
                                            T.push(fK);
                                            continue;
                                        case 423:
                                            T.push(new Uint8Array(fW(i5)[b(1546)](ij)));
                                            continue;
                                        case 432:
                                            T.pop() || (D += 76);
                                            continue;
                                        case 433:
                                            iJ[14] = T[T.length - 1];
                                            continue;
                                        case 435:
                                            T.push(new Uint8Array(fW(iF)));
                                            continue;
                                        case 436:
                                            T.push("0");
                                            continue;
                                        case 448:
                                            T.push(fs);
                                            continue;
                                        case 454:
                                            T.push(iY);
                                            continue;
                                        case 457:
                                            T.push(new Uint8Array(fW(i5)));
                                            continue;
                                        case 479:
                                            T.push(window);
                                            continue;
                                        case 485:
                                            iF = T.pop();
                                            continue;
                                        case 488:
                                            iQ += T[T.length - 1];
                                            continue;
                                        case 501:
                                            T.push(iP);
                                            continue;
                                        case 504:
                                            T.push(guardRaptor && guardRaptor[b(485)](b(3828), 200, 200, JSON[b(429)](iC)[b(147)], .001, fz));
                                            continue;
                                        case 508:
                                            !T.pop() && (D += 67);
                                            continue;
                                        case 512:
                                            T.push(-1);
                                            continue;
                                        case 513:
                                            T.push(iM);
                                            continue;
                                        case 546:
                                            iL = T.pop();
                                            continue;
                                        case 547:
                                            !T.pop() && (D += 64);
                                            continue;
                                        case 549:
                                            T.push(ir);
                                            continue;
                                        case 551:
                                            iX = T.pop();
                                            continue;
                                        case 554:
                                            is = T.pop();
                                            continue;
                                        case 556:
                                            ir = T.pop();
                                            continue;
                                        case 557:
                                            iC[b(3819)] = T[T.length - 1];
                                            continue;
                                        case 569:
                                            T[T.length - 2] = T[T.length - 2] != T[T.length - 1];
                                            continue;
                                        case 583:
                                            iJ[8] = T[T.length - 1];
                                            continue;
                                        case 586:
                                            T.push("");
                                            continue;
                                        case 594:
                                            im = T.pop();
                                            continue;
                                        case 635:
                                            T.push(guardRaptor && guardRaptor[b(485)](b(3836), 200, 200, iX[b(147)], .001, fz));
                                            continue;
                                        case 636:
                                            T.push(iz);
                                            continue;
                                        case 641:
                                            iJ[12] = T[T.length - 1];
                                            continue;
                                        case 650:
                                            iE = T.pop();
                                            continue;
                                        case 652:
                                            T.push("&");
                                            continue;
                                        case 656:
                                            T.push(iq);
                                            continue;
                                        case 660:
                                            ij = T.pop();
                                            continue;
                                        case 670:
                                            T.push(iL++);
                                            continue;
                                        case 671:
                                            T.push(hf);
                                            continue;
                                        case 679:
                                            T.push(fY);
                                            continue;
                                        case 695:
                                            T.push(iH);
                                            continue;
                                        case 718:
                                            iY = T.pop();
                                            continue;
                                        case 730:
                                            T.push(iA);
                                            continue;
                                        case 732:
                                            T.push(iU);
                                            continue;
                                        case 733:
                                            iC[b(3810)] = T[T.length - 1];
                                            continue;
                                        case 753:
                                            iG[1] = T[T.length - 1];
                                            continue;
                                        case 754:
                                            iS = T.pop();
                                            continue;
                                        case 757:
                                            T.push(h8);
                                            continue;
                                        case 778:
                                            iJ[10] = T[T.length - 1];
                                            continue;
                                        case 786:
                                            T.push(fE);
                                            continue;
                                        case 796:
                                            iR = T.pop();
                                            continue;
                                        case 819:
                                            T.push(iQ);
                                            continue;
                                        case 842:
                                            ik = T.pop();
                                            continue;
                                        case 854:
                                            iO = T.pop();
                                            continue;
                                        case 856:
                                            T.pop() || (D += 9);
                                            continue;
                                        case 861:
                                            iA = T.pop();
                                            continue;
                                        case 881:
                                            iC[b(3807)] = T[T.length - 1];
                                            continue;
                                        case 905:
                                            iC[b(3809)] = T[T.length - 1];
                                            continue;
                                        case 917:
                                            iJ[13] = T[T.length - 1];
                                            continue;
                                        case 918:
                                            T.push(ik);
                                            continue;
                                        case 919:
                                            T.push(h1);
                                            continue;
                                        case 926:
                                            iL += T[T.length - 1];
                                            continue;
                                        case 939:
                                            T.push(it);
                                            continue;
                                        case 952:
                                            T.pop() || (D += 8);
                                            continue;
                                        case 961:
                                            iJ[9] = T[T.length - 1];
                                            continue;
                                        case 976:
                                            ih = T.pop();
                                            continue;
                                        case 982:
                                            T.push(new Uint8Array(fW(it)));
                                            continue;
                                        case 988:
                                            iJ = T.pop();
                                            continue;
                                        case 993:
                                            iP = T.pop();
                                            continue;
                                        case 999:
                                            T.push(im);
                                            continue;
                                        case 1003:
                                            T.pop() || (D += 7);
                                            continue;
                                        case 1010:
                                            D -= 80;
                                            continue;
                                        case 1024:
                                            iC[b(3806)] = T[T.length - 1];
                                            continue;
                                        case 1030:
                                            T.push(iR);
                                            continue;
                                        case 1032:
                                            T.push(iB);
                                            continue;
                                        case 1042:
                                            T.push(h6);
                                            continue;
                                        case 1055:
                                            T.push(i5);
                                            continue;
                                        case 1061:
                                            iy = T.pop();
                                            continue;
                                        case 1075:
                                            iM = T.pop();
                                            continue;
                                        case 1090:
                                            iR = T[T.length - 1];
                                            continue;
                                        case 1103:
                                            T[T.length - 2] = T[T.length - 2] !== T[T.length - 1];
                                            continue;
                                        case 1117:
                                            iq = T.pop();
                                            continue;
                                        case 1126:
                                            iJ[11] = T[T.length - 1];
                                            continue;
                                        case 1128:
                                            iI = T.pop();
                                            continue;
                                        case 1139:
                                            T.push(io);
                                            continue;
                                        case 1143:
                                            T.pop() || (D += 27);
                                            continue;
                                        case 1147:
                                            iQ = T.pop();
                                            continue;
                                        case 1149:
                                            iJ[15] = T[T.length - 1];
                                            continue;
                                        case 1151:
                                            iW = T.pop();
                                            continue
                                    }
                            }()
                    }
                    var ic = b(false ? 3885 : 3886);
                    return guardRaptor && guardRaptor[b(485)](ic, 200, 200, Date[b(420)]() - hQ, .001, fz),
                        hO
                } catch (ij) {
                    ic = b(false ? 3885 : 3886);
                    throw guardRaptor && guardRaptor[b(485)](ic, 200, 9401, Date[b(420)]() - hQ, .001, fz),
                        dc(b(3895), ij[b(333)], b(509), fz),
                        ij
                }
                continue;
            case 3:
                T.push(!0);
                continue;
            case 4:
                T[T.length - 3] = g.call(T[T.length - 3], T[T.length - 2], T[T.length - 1]);
                continue;
            case 5:
                T.pop() || (D += 4);
                continue;
            case 6:
                T.pop();
                continue;
            case 7:
                D += 0;
                continue;
            case 8:
                T.push(Date);
                continue;
            case 9:
                T.push(fI);
                continue;
            case 10:
                T[T.length - 2] = T[T.length - 2] == T[T.length - 1];
                continue;
            case 11:
                T.push(null);
                continue;
            case 13:
                T.push(N[D++]);
                continue;
            case 14:
                T.length -= 2;
                continue;
            case 15:
                T[T.length - 2] = g.call(T[T.length - 2], T[T.length - 1]);
                continue;
            case 16:
                T.push(hO);
                continue;
            case 18:
                return;
            case 20:
                return T.pop();
            case 23:
                T.push(b);
                continue
        }
}